//
// Created by 薛国鹏 on 2019/12/23.
//

#ifndef XGP_STUDY_DEMO33_LINKLIST_H
#define XGP_STUDY_DEMO33_LINKLIST_H

#include <iostream>
using namespace std;
#define OK 1
#define ERROR 0

template<class T>
class Linklist {
public:
    Linklist() {

    }

    int initLinklist(Linklist<T> &L, int maxlistsize = 100);//初始化大小为100
    int Getlength(Linklist<T> &L);

    int Getmaxsize(Linklist<T> &L);

    int DestroyList(Linklist<T> &L);

    ~Linklist() //销毁函数
    {
        cout << "DestroyList" << endl;
    };

    int ClearList(Linklist<T> &L);

    void ShowList(Linklist<T> &L);

    bool GetElem(Linklist<T> &L, int i, T &e);//获得第i个元素，e必须是T类型的，例如int e
    T LocateElem(Linklist<T> &L, T &e);//找到e个元素的位置
    T InsertElem(Linklist<T> &L, int i, T &e);//插入
    int length;
    int maxsize;
    int *elem;
};

#endif //XGP_STUDY_DEMO33_LINKLIST_H
